# 使用 Ubuntu 作为基础镜像  
FROM ubuntu:latest  

# 更新包列表并安装必要的依赖  
RUN apt-get update && \  
    apt-get install -y curl gnupg2 wget && \  
    rm -rf /var/lib/apt/lists/*  

# 安装 Node.js  
# 你可以从 NodeSource 获取 Node.js 的安装脚本  
RUN curl -fsSL https://deb.nodesource.com/setup_current.x | bash - && \  
    apt-get install -y nodejs  

# 安装 Python 和 pip  
RUN apt-get update && \  
    apt-get install -y python3 python3-pip && \  
    rm -rf /var/lib/apt/lists/*  

# 设置工作目录
WORKDIR /app  

# 更新apt
RUN apt update

# 安装python-venv
RUN apt install python3.12-venv -y

# 将项目文件复制到工作目录
COPY . .

# 创建一个虚拟环境
RUN python3 -m venv src/python/venv

# 激活虚拟环境并安装依赖
RUN . src/python/venv/bin/activate && pip install -r src/python/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# 设置npm镜像
RUN npm config set registry http://r.cnpmjs.org/

# 安装pnpm
RUN npm install pnpm -g

# 安装nodejs依赖
RUN pnpm install

# 暴露容器的3000端口
EXPOSE 3000

# 定义容器启动后执行的命令
CMD [ "node", "src/index.js" ]